package com.dd.pojo.entry;


import com.baomidou.mybatisplus.annotation.TableField;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;


@TableName(value ="sys_user_share")
@Data
@ApiModel(value = "文件分享链接")
@Accessors(chain = true)
public class UserShare implements Serializable {
    /**
     * uuid
     */
    @ApiModelProperty("uuid")
    @TableField(value = "share_uuid")
    private String shareUuid;

    /**
     * 分享人ID
     */
    @ApiModelProperty("分享人ID")
    @TableField(value = "share_user_id")
    private String shareUserId;

    /**
     * 分享人姓名
     */
    @ApiModelProperty("分享人姓名")
    @TableField(value = "share_user_name")
    private String shareUserName;

    /**
     * 分享天数 0表示永不过期
     */
    @ApiModelProperty("分享天数 0表示永不过期")
    @TableField(value = "share_date")
    private Integer shareDate;

    /**
     * 链接创建时间
     */
    @ApiModelProperty("链接创建时间")
    @TableField(value = "share_create_time")
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime shareCreateTime;



    @ApiModelProperty("链接过期时间")
    @TableField(exist = false)
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime shareLoseTime;

    /**
     * 分享文件或者文件夹的ID
     */
    @ApiModelProperty("分享文件或者文件夹的ID")
    @TableField(value = "share_file_id")
    private String shareFileId;

    /**
     * 分享文件类型 0 文件 1 文件夹
     */
    @ApiModelProperty("分享文件类型 0 文件 1 文件夹")
    @TableField(value = "share_file_type")
    private Integer shareFileType;

    @ApiModelProperty("分享文件的密码")
    @TableField(value = "share_password")
    private String sharePassword;


    @ApiModelProperty("分享链接")
    @TableField(value = "share_url")
    private String sharePath;

    @ApiModelProperty("是否过期")
    @TableField(exist = false)
    private Boolean lose;



    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}